const fs = require('fs');
const path = require('path');

/**
 * 优化 Electron 应用的国际化文件，只保留简体中文和英文
 */
function optimizeLocales() {
    // 需要保留的语言包
    const keepLanguages = ['en-US.pak', 'zh-CN.pak'];
    
    // 检查打包后的 locales 目录
    const distPath = path.join(__dirname, '../dist');
    const platforms = ['win-unpacked', 'mac', 'linux-unpacked'];
    
    platforms.forEach(platform => {
        const localesPath = path.join(distPath, platform, 'locales');
        
        if (fs.existsSync(localesPath)) {
            console.log(`正在优化 ${platform} 平台的 locales 文件...`);
            
            const files = fs.readdirSync(localesPath);
            let removedCount = 0;
            
            files.forEach(file => {
                if (file.endsWith('.pak') && !keepLanguages.includes(file)) {
                    const filePath = path.join(localesPath, file);
                    try {
                        fs.unlinkSync(filePath);
                        console.log(`  删除: ${file}`);
                        removedCount++;
                    } catch (error) {
                        console.error(`  删除失败 ${file}:`, error.message);
                    }
                }
            });
            
            console.log(`  ${platform} 平台优化完成，删除了 ${removedCount} 个语言包文件`);
            console.log(`  保留的语言包: ${keepLanguages.join(', ')}`);
        } else {
            console.log(`${platform} 平台的 locales 目录不存在，跳过优化`);
        }
    });
    
    console.log('locales 优化完成！');
}

// 如果直接运行此脚本
if (require.main === module) {
    optimizeLocales();
}

module.exports = { optimizeLocales };
